package br.com.k19.model;

public class Funcionario extends Pessoa{

	int idFuncionario;
	String cargo;
	String salario;
	String dataEntrada;
	String dataSaida;
	boolean situacao;
	private Endereco endereco;
	private Contato contato;
		
	public Funcionario(int idFuncionario, String nome, String Sobrenome, String cpf, String rg,
						Endereco endereco, Contato contato,
						String cargo, String dataEntrada,boolean situacao){
		
	}

	public Funcionario() {
		// TODO Auto-generated constructor stub
	}
	
	
	public int getIdFuncionario() {
		return idFuncionario;
	}
	public void setIdFuncionario(int idFuncionario) {
		this.idFuncionario = idFuncionario;
	}
	public String getCargo() {
		return cargo;
	}
	public void setCargo(String cargo) {
		this.cargo = cargo;
	}
	public String getSalario() {
		return salario;
	}
	public void setSalario(String salario) {
		this.salario = salario;
	}
	public String getDataEntrada() {
		return dataEntrada;
	}
	public void setDataEntrada(String dataEntrada) {
		this.dataEntrada = dataEntrada;
	}
	public String getDataSaida() {
		return dataSaida;
	}
	public void setDataSaida(String dataSaida) {
		this.dataSaida = dataSaida;
	}
	public boolean isSituacao() {
		return situacao;
	}
	public void setSituacao(boolean situacao) {
		this.situacao = situacao;
	}
	
	
	@Override
	public String toString() {
		return "Funcionario [idFuncionario=" + idFuncionario + ", cargo="
				+ cargo + ", salario=" + salario + ", dataEntrada="
				+ dataEntrada + ", dataSaida=" + dataSaida + ", situacao="
				+ situacao + "]";
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((cargo == null) ? 0 : cargo.hashCode());
		result = prime * result
				+ ((dataEntrada == null) ? 0 : dataEntrada.hashCode());
		result = prime * result
				+ ((dataSaida == null) ? 0 : dataSaida.hashCode());
		result = prime * result + idFuncionario;
		result = prime * result + ((salario == null) ? 0 : salario.hashCode());
		result = prime * result + (situacao ? 1231 : 1237);
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Funcionario other = (Funcionario) obj;
		if (cargo == null) {
			if (other.cargo != null)
				return false;
		} else if (!cargo.equals(other.cargo))
			return false;
		if (dataEntrada == null) {
			if (other.dataEntrada != null)
				return false;
		} else if (!dataEntrada.equals(other.dataEntrada))
			return false;
		if (dataSaida == null) {
			if (other.dataSaida != null)
				return false;
		} else if (!dataSaida.equals(other.dataSaida))
			return false;
		if (idFuncionario != other.idFuncionario)
			return false;
		if (salario == null) {
			if (other.salario != null)
				return false;
		} else if (!salario.equals(other.salario))
			return false;
		if (situacao != other.situacao)
			return false;
		return true;
	}
	

}
